# -*- coding: utf-8 -*-

"""
Context managment.

Limitations:
    pop can be called from anywhere, also from within a think method of an
    active (topmost) context. After poping it the active context is not the
    topmost context anymore, but can still modify the context stack (since
    it is still in the think method).


"""

# Versioning scheme based on: 
#       http://en.wikipedia.org/wiki/Versioning#Designating_development_stage
#
#   +-- api change, probably incompatible with older versions
#   |     +-- enhancements but no api change
#   |     |
# major.minor[.build[.revision]]
#                |
#                +-|* 0 for alpha (status)
#                  |* 1 for beta (status)
#                  |* 2 for release candidate
#                  |* 3 for (public) release
#
# For instance:
#     * 1.2.0.1 instead of 1.2-a
#     * 1.2.1.2 instead of 1.2-b2 (beta with some bug fixes)
#     * 1.2.2.3 instead of 1.2-rc (release candidate)
#     * 1.2.3.0 instead of 1.2-r (commercial distribution)
#     * 1.2.3.5 instead of 1.2-r5 (commercial distribution with many bug fixes)

__version__ = "1.0.1.0"
__author__ = "DR0ID (C) 2011"

__copyright__ = "Copyright 2011, Multiverse Factory team for Pyweek 12"
__credits__ = ["Cosmologicon", "Gummbum", "DR0ID"]
__license__ = "GPL3"
__maintainer__ = "DR0ID"

__all__ = ["Context", "push", "pop", "top", "length", "print_stack", "transitions"]

# -----------------------------------------------------------------------------


# from . import _context as cont
from ._context import *


from . import transitions
